package com.vhans.db.model.vo;

import com.vhans.db.model.vo.log.UserViewVO;
import com.vhans.db.model.vo.quiz.QuizRankVO;
import com.vhans.db.model.vo.quiz.QuizStatisticsVO;
import com.vhans.db.model.vo.record.RecordRankVO;
import com.vhans.db.model.vo.record.RecordStatisticsVO;
import com.vhans.db.model.vo.tag.TagOptionVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;

import java.util.List;

/**
 * 网站信息VO
 *
 * @author vhans
 **/
@Data
@Builder
@ApiModel(description = "网站信息VO")
public class WebsiteInfoVO {

    /**
     * 访问量
     */
    @ApiModelProperty(value = "访问量")
    private Integer viewCount;

    /**
     * 用户量
     */
    @ApiModelProperty(value = "用户量")
    private Long userCount;

    /**
     * 记录量
     */
    @ApiModelProperty(value = "记录量")
    private Long recordCount;

    /**
     * 题目量
     */
    @ApiModelProperty(value = "题目量")
    private Long quizCount;

    /**
     * 正在进行的约起量
     */
    @ApiModelProperty(value = "正在进行的约起量")
    private Long agreementCount;

    /**
     * 标签列表
     */
    @ApiModelProperty(value = "标签列表")
    private List<TagOptionVO> tagVOList;

    /**
     * 记录贡献统计
     */
    @ApiModelProperty(value = "记录贡献统计")
    private List<RecordStatisticsVO> recordStatisticsList;

    /**
     * 题目贡献统计
     */
    @ApiModelProperty(value = "记录贡献统计")
    private List<QuizStatisticsVO> quizStatisticsList;

    /**
     * 记录浏览量排行
     */
    @ApiModelProperty(value = "记录浏览量排行")
    private List<RecordRankVO> recordRankVOList;

    /**
     * 题目浏览量排行
     */
    @ApiModelProperty(value = "题目浏览量排行")
    private List<QuizRankVO> quizRankVOList;

    /**
     * 一周访问量
     */
    @ApiModelProperty(value = "一周访问量")
    private List<UserViewVO> userViewVOList;
}